package com.wxp.demo04.message;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;

import com.wxp.demo04.R;

/**
 * 2.1.2.1 隐式Intent 传递信息
 */
public class HideIntentSendActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_hide_intent_send);

        this.setTitle("2.1.2.1 隐式Intent 传递信息");
        //设置事件
        findViewById(R.id.btn_dial).setOnClickListener(this);
        findViewById(R.id.btn_sms).setOnClickListener(this);
        findViewById(R.id.btn_my).setOnClickListener(this);
        findViewById(R.id.btn_jsq).setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        String phoneNo = "12345";
        Intent intent = new Intent();
        if (v.getId() == R.id.btn_dial) {
            // 设置意图动作为准备拨号
            intent.setAction(Intent.ACTION_DIAL);
            // 声明一个拨号的Uri
            Uri uri = Uri.parse("tel:" + phoneNo);
            // 设置意图前往的路径
            intent.setData(uri);
            // 启动意图通往的活动页面
            startActivity(intent);
            return;
        }
        if (v.getId() == R.id.btn_sms) {
            // 设置意图动作为准备发短信
            intent.setAction(Intent.ACTION_SENDTO);
            // 声明一个短信的Uri
            Uri uri = Uri.parse("smsto:" + phoneNo);
            intent.setData(uri);
            startActivity(intent);
            return;
        }
        if (v.getId() == R.id.btn_my) {
            //跳转自定义的界面
            //定义数据
            intent.putExtra("name", "setAction(动作名称)");
            intent.putExtra("message", "setAction 隐式方式-传递数据");

            //指定自定义动作名称
            /**
             * xml中定义：
             *  <intent-filter>
             *     <action android:name="android.intent.action.IntentReceive" />
             *     <category android:name="android.intent.category.DEFAULT" />
             *  </intent-filter>
             */
            intent.setAction("android.intent.action.IntentReceive");
            intent.addCategory(Intent.CATEGORY_DEFAULT);
            startActivity(intent);
            return;
        }

        if (v.getId() == R.id.btn_jsq) {
            //跳转自定义的界面
            //指定自定义动作名称
            /**
             * xml中定义：
             *  <intent-filter>
             *     <action android:name="android.intent.action.JSQ" />
             *     <category android:name="android.intent.category.DEFAULT" />
             *  </intent-filter>
             */
            intent.setAction("android.intent.action.JSQ");
            intent.addCategory(Intent.CATEGORY_DEFAULT);
            startActivity(intent);
            return;
        }
    }
}